package cn.autumnorange.app.user.api.dto;

import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.Objects;

@Getter
@Setter
public class SysUserDto {
    private String id;
    private String nickName;
    private String identityCard;
    private boolean sex;
    private Date birthTime;
    private Integer age;
    private String birthday;
    private String email;
    private String phone;
    private String mobile;
    private String photoPath;

    //  private TreeSet<SysMenuDto> menuSet;
    public void setId(String id) {
        this.id = id;
    }

    //    public SysUserDto(
    //            SysUserEntity sysUserEntity) {
    //        this.nickName = sysUserEntity.getName();
    //        this.identityCard = sysUserEntity.getIdentityCard();
    //        this.sex = sysUserEntity.getSex();
    //        this.birthTime = sysUserEntity.getBirthTime();
    //        this.age = sysUserEntity.getAge();
    //        this.birthday = sysUserEntity.getBirthday();
    //        this.email = sysUserEntity.getEmail();
    //        this.phone = sysUserEntity.getPhone();
    //        this.mobile = sysUserEntity.getMobile();
    //        this.photoPath = sysUserEntity.getPhoto();
    ////    this.menuSet = SysMenuDto.createSysMenuDtoSet(sysUserEntity.getMenus());
    //    }

    //  public TreeSet<SysMenuDto> getMenuSet() {
    //    return menuSet;
    //  }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof SysUserDto)) {
            return false;
        }
        SysUserDto that = (SysUserDto) o;
        return sex == that.sex
                && Objects.equals(nickName, that.nickName)
                && Objects.equals(identityCard, that.identityCard)
                && Objects.equals(birthTime, that.birthTime)
                && Objects.equals(age, that.age)
                && Objects.equals(birthday, that.birthday)
                && Objects.equals(email, that.email)
                && Objects.equals(phone, that.phone)
                && Objects.equals(mobile, that.mobile)
                && Objects.equals(photoPath, that.photoPath)
                //            && Objects.equals(menuSet, that.menuSet)
                ;
    }

    @Override
    public int hashCode() {

        return Objects.hash(
                nickName, identityCard, sex, birthTime, age, birthday, email, phone, mobile, photoPath);
        //    , menuSet
    }
}
